package com.qing.design.patterns.strategy.example.order;

import com.qing.design.patterns.strategy.example.strategies.PayStrategy;

/**
 * 订单类。不知道用户的具体付款方式（策略）
 * *精选的。它使用公共策略接口来委托收集支付数据
 * *战略目标。它可用于将订单保存到数据库。
 */
public class Order {

	private int totalCost=0;

	private boolean isClosed=false;


	public void processOrder(PayStrategy strategy) {
		strategy.collectPaymentDetails();
		//在这里，我们可以从策略中收集和存储支付数据。
	}

	public int getTotalCost() {
		return totalCost;
	}

	public void setTotalCost(int totalCost) {
		this.totalCost = totalCost;
	}

	public boolean isClosed() {
		return isClosed;
	}

	public void setClosed() {
		isClosed = true;
	}
}
